package pers.linkong.asr.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import pers.linkong.asr.domain.RecordBean;
import pers.linkong.asr.domain.RecordNumBean;

public interface RecordMapper {
	// 增
	public int addRecord(RecordBean record);

	// 删
	public int deleteRecord(int cid);

	// 查
	public RecordBean getRecordById(int cid);
	public int getSidByImgId(int imgid);

	// 改
	public int updateRecord(RecordBean record);

	// 分页
	public List<RecordBean> findRecordByPage(
			@Param("record") RecordBean record,
			@Param("start") long start,
			@Param("limit") long limit);
	
	// 检测页分页
	public List<RecordBean> findDetRecByPage(
			@Param("cidSublevel") int cidSublevel,
			@Param("classid") String classid,
			@Param("start") long start,
			@Param("limit") long limit);
	// 统计
	public long getRecordCount(@Param("record") RecordBean record);

	// 主页统计
	public long getDetRecCount(String classid);

	// 查找这个学生本次课有无签到（已到，迟到）记录
	public long getRidCountByRecord(RecordBean record);
	
	// 查找这个学生本次课有无签到（早退）记录
	public long getRidCountByRecord2(RecordBean record);
	
	// 查询这个学生是否上这门课，是返回1，否返回0
	public long getStudentCountByCsid(
			@Param("sid") int sid,
			@Param("csid") int csid);
	
	// 查找复合当前时间的记录中每种flag的个数
	public RecordNumBean getRecordNum(
			@Param("cidSublevel") int cidSublevel,
			@Param("classid") String classid
			);
	
	// 签离功能（标记早退）
	public void updateDetRecord(
			@Param("cidSublevel") int cidSublevel,
			@Param("flag") int flag);

	// 签离功能
	public void updateRecordByZaotui(RecordBean record);
}
